Network-based photomask data entry interface and instruction generator for manufacturing photomasks

ABSTRACT

A computer network for generating instructions for photomask manufacturing equipment, based on photomask specification data input by a customer. A series of order entry screens are downloaded to a remote customer&#39;s computer, typically via an internet connection. The customer is prompted to enter photomask specification data, which is delivered to computing equipment on the manufacturer&#39;s local network. The manufacturer&#39;s computing equipment validates the photomask specification data, and uses this data to generate fracturing instructions and equipment control instructions. The fracturing instructions, together with pattern design data from the customer, are delivered to a fracture engine, which provides fractured pattern data. The control instructions and the fractured pattern data may then be electronically delivered to the manufacturing equipment.

RELATED APPLICATIONS

This application is a Continuation Application which claims the benefitof U.S. patent application Ser. No. 09/610,917 entitled NETWORK-BASEDPHOTOMASK DATA ENTRY INTERFACE AND INSTRUCTION GENERATOR FORMANUFACTURING PHOTOMASKS, filed on Jul. 5, 2000, by Jeffry S. Schepp etal., now U.S. Pat. No. 6,622,295 issued Sep. 16, 2003.

TECHNICAL FIELD OF THE INVENTION

This invention relates to the manufacture of photomasks, and moreparticularly to a network-based system that permits a remote customer toprovide pattern design data and photomask specifications, and that usesthis data to generate instructions for photomask manufacturingequipment.

BACKGROUND OF THE INVENTION

Photomasks are an integral part of the lithographic process ofsemiconductor manufacturing. Photomasks are quartz or glass plates thatcontain precision images of layers of integrated circuits. They are usedto optically transfer the images to semiconductor wafers duringphotoresist exposure.

Photomasks require complex mathematical algorithms for their design anduse sophisticated manufacturing techniques. To make a photomask, acustomer, such as a chipmaker, provides the photomask manufacturer withcircuit design data and photomask specifications. This data is used togenerate photomask pattern data in a format appropriate for themanufacturing equipment. Each photomask is then created by usingphotolithographic techniques.

Conventionally, the data provided by the customer is in whatever formatis convenient for the customer, based on the customer's design system.The circuit design data is typically from a CAD type system, with adesign for each pattern. The data might be delivered to the manufactureron various media, such as a floppy disk, magnetic tape, cassette, or viaa modem connection. The photomask specifications might be in hardcopyform or in electronic form, on some sort of physical media delivered tothe manufacturer, or delivered electronically. There is no guaranteethat this customer-provided data will be complete or that it will resultin a manufacturable photomask.

SUMMARY OF THE INVENTION

One aspect of the invention is a network-based method of generatinginstructions for use by photomask manufacturing equipment. A customercomputer establishes a remote connection to wide area network, alsoaccessible by a local network of the manufacturer. A series of orderentry display screens is downloaded to the customer computer. Thesescreens prompt the customer to enter photomask specification data, whichidentifies layers, patterns, placements, and fracturing data for atleast one photomask. This photomask specification data is communicatedto a local network of the photomask manufacturer. The local networkvalidates the photomask specification data during the remote connection.The local network also generates two types of instructions in responseto the photomask specification data: fracturing instructions andequipment control instructions. The fracturing instructions operate onpattern design data from the customer so as to provide fractured patterndata. Both the fractured pattern data and the control instructions maybe electronically delivered to the manufacturing equipment.

An advantage of the invention is that the local network operatesdirectly in response to customer-provided photomask specification data.It does not require data input by the photomask manufacturer. The methodoccurs “on-line”, in the sense that photomask specification data isreceived and processed using electronic transfers of the data. It isreceived in a desired format, so that no reformatting is required forthe input to the command generator.

This method of entering photomask specification data greatly reduces thetime required to manufacture a photomask. For example, when patterns aremanually fractured in the conventional manner, the fracturing processcan take up to 70 times longer than with the present invention. With thepresent invention, fracturing instructions may be generated as thecustomer is entering order data.

At the same time, the invention ensures that the customer provides allnecessary information, for both manufacturing and accounting.Information is received in a uniform format. The order data is verifiedto ensure that the photomask is manufacturable. The order entry processmay be easily integrated with a billing system for accounting purposes.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A illustrates a network-based system for obtaining photomask dataand generating manufacturing instructions in accordance with theinvention.

FIG. 1B illustrates the method followed by the system of FIG. 1A.

FIG. 1C illustrates the order entry steps of FIG. 1B.

FIGS. 2–7 illustrate various display screens downloaded to thecustomer's computer, consistent with the order entry steps of FIG. 1C.

FIG. 8 illustrates a display screen for entering billing informationduring the billing data step of FIG. 1B.

FIG. 9 illustrates a validation screen for displaying the results of thevalidation step of FIG. 1B.

FIGS. 10A and 10B illustrate an order summary display, which isdelivered to the manufacturing plant.

DETAILED DESCRIPTION OF THE INVENTION

System Overview

FIG. 1A illustrates a network-based system for obtaining photomask dataand generating manufacturing instructions in accordance with theinvention. FIG. 1B illustrates the method performed by the system ofFIG. 1A.

Computers 102, 108, 114, and 118 are assumed to have the processingresources and memory to implement the functions described herein. Theyare further assumed to have associated program memory for storingprogramming for those functions.

As indicated in FIG. 1A, the customer is assumed to have a customercomputer 102, as well as a circuit design computer 104 and circuitdesign database 106. The customer's computing equipment could be on alocal network of the customer.

The rest of the computing equipment shown in FIG. 1A are elements of alocal network 100 operated by the photomask manufacturer. In the exampleof FIG. 1A, all of this equipment is on the same local area network(LAN), but other processing architectures are possible.

With regard to distribution of processing tasks on the computerequipment, FIGS. 1A and 1B are but one possible embodiment. For example,various processing tasks performed by computers 108, 114, and 118 on themanufacturer's local network 100 could be performed on fewer computers.As another example, although FIG. 1B illustrates Steps 121–124 as beingall performed by a single interface computer 108, these steps could beperformed on different computer equipment. Although the followingdescription refers to certain processing tasks as being performed byspecific computers in local network 100, in a more general sense, thesetasks can be thought of as being performed by local network 100.

Customer computer 102 provides access, via a remote connection, to aninterface computer 108. The network access may be via any LAN or WAN.Typically, the remote connection is via a wide area network (WAN). Forexample, the network could be the Internet, and customer computer 102could establish a connection to a web site. Various user interfacescreens described herein are downloaded to customer computer 102.Interface computer 108 would receive the photomask data that thecustomer enters on these screens. The various network servers and otherequipment will vary depending on the type of network; only the endstations are illustrated in FIG. 1A. In the case of an Internetconnection, customer computer 102 need not have special programmingother than a web browser.

The customer also has a circuit design computer 104. Circuit designcomputer 104 stores programming for generating designs of the customer'sintegrated circuit. It is possible that computers 102 and 104 could bethe same equipment, although typically, computer 102 is a PC typecomputer and computer 104 is a UNIX type workstation. The customer'scircuit design data is stored in the customer's design library database106. As illustrated by Step 127 of FIG. 1B, at some point prior tomanufacture of the photomask(s), this design data is transferred tocustomer design database 110 for access by the manufacturer's localnetwork.

Interface computer 108 stores programming for receiving photomaskspecification data from the customer via the network connection. Inother words, photomask specification data is received on-line from thecustomer, using order entry forms that organize the data in a particularformat. This data is immediately available to other computing equipmenton the manufacturer's local network. Interface computer 108 also storesprogramming that uses the photomask specification data to design one ormore photomasks that will meet all manufacturing requirements as well asthe customer's specifications. Steps 120–124 of FIG. 1B illustrate anorder entry process and other processes performed by interface computer108.

Computer 108 stores the photomask specification data in photomaskspecification database 112. This data is accessed by command generator114, which generates instructions that are delivered to the photomaskfabrication equipment. Specifically, command generator 114 generatesfracturing instructions which are delivered to fracture engine 116.Fracture engine 116 also receives pattern design data from database 110and generates fractured pattern data. The command generator 114 alsogenerates control instructions, which specify where and how patterns areto be written.

The fractured pattern data and the control instructions are delivered tomemory accessible by the manufacturing equipment, which produces aphotomask for each layer of the integrated circuit. In today'smanufacturing environment, the manufacturing equipment iscomputer-controlled lithography equipment.

Billing file generator 118 is used to interface the photomaskspecification data to the manufacturer's billing system. It selectsappropriate data and arranges it in a format useable by the billingsystem.

On-Line Entry of Photomask Specifications

FIG. 1C illustrates a number of steps performed during Step 121 of FIG.1B. During this step, interface computer 108 receives photomaskspecification data, using a forms type order entry interface. Asexplained below, it is assumed that the customer has accessed a networkfor downloading various user interface screens. These screens aredisplayed on customer computer 102, and guide the customer to enterphotomask specification data.

Each of the Steps 131–136 of FIG. 1C is associated with a different userinterface screen. These screens are illustrated in FIGS. 2–7. To submita photomask order, the customer accesses these screens in succession andenters data as prompted by each screen.

The display screens are arranged in a manner that delivers data tointerface computer 108 in a form that permits computer 108 to generateappropriate instructions for that order. The screens have variousinterface features known to persons who use windows-type operatingsystems. These features include data entry boxes, pull down menus, andselection buttons and bars. Help icons permit the customer to view helpinformation.

FIG. 2 illustrates a log-in screen 20, which is the first screen thatthe customer views. Where access is via the Internet, this screen isdisplayed in response to the customer entering the URL of the photomaskmanufacturer.

Each order requires that the customer first have an account. Anew-customer link 21 permits the customer to set up an account andthereby receive a username and password. At this time, the customer mayalso be set up for network access to customer design database 110. Thispermits the customer to electronically transfer circuit design data fromthe customer's database 106 to a database 110 maintained by themanufacturer. As explained below, this transfer need not be accomplishedby the same network connection as is used to create an order.

To enter an order, the user is prompted to enter a username andpassword. A menu 22 permits the user to request that a new order becreated.

FIGS. 3A and 3B illustrate a general tooling data screen 30. Anavigation bar 30 a at the top of screen 30 informs the customer of thecurrent location within the design process and permits the customer tonavigate among all screens.

An order copy box 31 permits the customer to reload an order in progressor to create a new order based on an old order. This reduces the needfor the customer to reenter data that is to be re-used for the neworder.

A customer information box 32 prompts the customer to enter relevantcontact information. A quality control box 33 provides a pull down menufor types of quality control, such as die to die, manual, or die todatabase. A documentation box 34 provides a pull down menu for selectingdocumentation.

A layer and pattern box 35 prompts the user to name the device, and tospecify the number of layers and patterns. A tooling and materials box37 provides pull down menus for product type, glass type, glass size andthickness, and coating. A reflectivity specification may also beentered. A pellicle box 36 permits the customer to specifies pellicledata. Various stepper data may also be entered.

A “create and forward” button 38 prompts the customer to save theinformation entered on screen 30 and proceed to the next screen. Theinformation entered on screen 30 is carried forward to subsequentscreens.

FIG. 4 illustrates a layer data screen 40, which prompts the customer toenter data for each layer. Screen 40 has a layer data line 41 for onlyone layer. Additional lines 41 would be displayed for additional layers,such that there are as many lines 41 as there are layers specified inbox 35 of screen 30. For each layer, the customer is prompted to enter atitle, a barcode, a registration tolerance, and other layer information.

FIG. 5 illustrates a pattern data screen 50. A set of pattern data lines51 is displayed for every pattern specified in screen 30. On a firstline of set 51, the customer enters a pattern name, which identifies thepattern as a primary, test, frame, or other type of pattern. Thecustomer also specifies whether the pattern is to be fractured. Onsubsequent lines of set 51, for each layer, the customer specifies anumber of placements, the location of the placements, and otherfracturing data. Critical dimension (CD) data permits the manufacturerto verify whether the photomask meets the customer's specifications.Although there is only a single layer in the example of FIG. 5 (and thustwo lines in set 51), additional lines would be generated for additionallayers.

FIG. 6 illustrates a pattern placement screen 60. Using screen 60, thecustomer specifies where to place each pattern. As indicated in line 61,pattern data is carried forward from screen 50, so that screen 60progresses through each layer and each pattern on each layer.

FIG. 7 illustrates a pattern fracture screen 70. Again, data from priorscreens is carried forward. Although FIG. 7 illustrates data entry for asingle pattern, line 71 would be repeated for each pattern, as are thedata entry boxes. A database entry line 72 prompts the customer to enterdata used to identify and locate pattern data in the customer database110. Additional boxes 73 on screen 70 prompt the customer to enterscale, GDS, and window limit data.

Processing Additional to Order Entry

Referring again to FIGS. 1A and 1B, various steps additional to customerorder entry (Step 121) are illustrated. As explained below, these stepsoccur simultaneously with, or subsequent to, order entry.

Step 125 occurs after Step 121. The data entered by the customer duringthe order entry process is stored as photomask specification data inphotomask specification database 112.

Step 122 is receiving billing data from the customer. This step mayoccur during the same network connection as Step 121. In the example ofthis description, a billing data screen immediately follows screen 70.

FIG. 8 illustrates a billing data screen 80, used to receive billingdata for Step 122. The customer is prompted to enter various informationfor use in billing for the photomask(s).

Step 123 is a validation step, which may be performed during or afterStep 121. That is, Step 123 may be performed while the customer is stillon-line. In Step 123, interface computer 108 processes the order data toensure that it is valid. Examples of validation techniques includeensuring that the customer has entered all required data during Step120. As another example, customer data might be checked to ensure thatspecified patterns will fit on the layer. A detailed description of thevalidation is set out below.

FIG. 9 illustrates a validation screen 90. Screen 90 indicates that Step123 has been performed. If one of the validation tests of Step 123 hadfailed, the customer would be informed with a different message inscreen 90 and given an opportunity to return to the screen whose datacaused the lack of validity, so the error could be corrected.

FIGS. 10A and 10B illustrate an order summary screen 100, which isdelivered to the plant that is to produce the photomask(s). An ordersummary may also be sent to the customer computer 102. Screen 100 may bedelivered electronically or printed and delivered in hardcopy form.

In Step 124, certain items of the order entry data are selected andarranged for use by a billing system. For example, the order data may beformatted as a “semi file”, which complies with a semiconductor industrystandard for order information. A special billing data generator 118 maybe used for this task. However, as stated above in connection with FIGS.1A and 1B, the division of processing tasks performed by the computingequipment of local network 100 may vary in different embodiments of theinvention.

Step 126 is performed as the customer inputs data (during Step 121).During Step 126, command generator 114 receives the fracturing dataentered into screen 70. It uses this data, as well as fracturingalgorithms stored in its program memory, to generate fracturinginstructions.

For some manufacturing systems, the fracturing instructions for aparticular set of patterns are referred to as a “cinc file”. Thefollowing instructions represent a portion of cinc file, and describe asingle pattern.

-   -   !Fracture_(—)1    -   clear    -   Allocate_(—)rects 500000    -   Allocate_(—)traps 500000    -   Allocate_(—)space 20000000    -   Format MEBES    -   Mebes MACHINE 3    -   Compact FLY    -   Rule PARAGON    -   Border OUTSIDE    -   Input $INPUT_(—)PATH/JEFF.GDS    -   Resolution 0    -   Structure MAIN    -   Layers 1,3,5,7    -   Limits (−12000, −15000, 12000, 15000)    -   Scale 1    -   Output $OUTPUT_(—)PATH/dpi000000_(—)22.cflt    -   Do        A complete cinc file would have a similar description for each        pattern.

The automatic generation of fracturing instructions eliminates theerrors associated with manual input. The fracturing instructions may begenerated “on-line” as the customer enters pattern and fracture data. Asstated above in connection with FIGS. 1A and 1B, the fracturinginstructions are used in conjunction with the customer's design data tocreate photomask patterns recognizable by the manufacturing equipment.

In Step 127, command generator 114 receives the photomask specificationdata from database 112. It uses this data to generate instructions forthe manufacturing equipment. The result is a set of computerinstructions that will cause the patterns to be written on the photomaskplate. These instructions are sometimes referred to as a “job deck”.

In Step 128, the customer's circuit design data is delivered to themanufacturer. If the design data is sent in electronic form, it may besent over a connection different from that of the network used for orderentry. For example, a secure FTP file transfer could be used. The designdata is stored in a customer database 110.

Validation of Photomask Specification and Billing Data

As stated above, in Step 123, the customer's photomask specificationdata may be validated on-line, i.e., as it is being entered.

The following validation process is one example of a set of tasksperformed during Step 123. As indicated below, many of the validationtasks can be categorized. Some tasks determine whether specified datahas been entered. Other tasks determine whether data is in a specifiedformat, i.e., decimal in range. Other tasks determine whether data meetsspecified dimensional criteria, such as whether patterns fit on a maskor whether placements line up.

For each of the screens illustrated in FIGS. 3A–9, the followingvalidation tasks occur:

-   -   General tooling data screen 30:        -   Validated to exist:            -   Customer Name            -   Device Name            -   Number of layers            -   Number of patterns        -   Validated be integer in range            -   Number of layers (1–99)            -   Number of patterns (1–99)        -   Validated to be decimal in range            -   Reflectivity (0.0–100)        -   Special validation            -   Email address    -   Layer Data Screen 40:        -   Validated to exist            -   Layer name        -   Special validation            -   Layer names are validated to be unique    -   Pattern Data Screen 50:        -   Validated to exist            -   Number of pattern placements per layer        -   Validated to be integer in range            -   Number of pattern placements per layer (0–99)        -   Validated to be decimal in range            -   Address units out (0.0–10.0)            -   Final CD Size (any decimal)            -   CD Tolerance (0.0–1000.0)    -   Pattern Placement Screen 60:        -   Validated to be decimal            -   Placement X (any decimal)            -   Placement Y (any decimal)    -   Pattern Fracture Screen 70:        -   Validated to be decimal in range            -   Fracture data scale out (0.0–10000.0)        -   Special Validation            -   Fracture database name is validated to be valid file                name            -   Fracture top structure is validated to be valid file                name            -   Window limits are validated so that the absolute value                of upper right X—lower left X is less than or equal to                the width of the glass            -   Window limits are validated so that the absolute value                of upper right Y—lower left Y is less than or equal to                the height of the glass    -   Billing Data Screen 80:        -   Special Validation            -   Account manager email, billing information email, and                shipping information email are all validated to make                sure they could be valid email addresses    -   Validation Screen 90:        -   Customer name        -   Device        -   Contact name        -   Contact phone        -   Contact fax        -   Contact email        -   Product type        -   Glass Type        -   Glass Size/Thickness        -   Glass Coating        -   Defect Criteria        -   Plot Size        -   Number of layers        -   Number of patterns            -   Validate Fields For Screen: Order Business Info                -   PO Number                -   Billing Address                -   Billing City                -   Billing State                -   Billing Country                -   Billing Zip                -   Bill Contact                -   Bill Contact Phone                -   Bill Contact Fax                -   Bill Contact Email                -   Shipping Address                -   Shipping City                -   Shipping State                -   Shipping Country                -   Shipping Zip                -   Ship Contact                -   Ship Contact Phone                -   Ship Contact Fax                -   Ship Contact Email    -   Get the number of layers        -   Walk through layers & validate each one:            -   Get the array of layer attributes            -   Validate Fields For Screen: Layer Info            -   Mask Title            -   Barcode text (if required based on previous information)            -   Mask Parity            -   Title Parity        -   Next Layer        -   Validate pattern data        -   Pattern Name        -   Fracture Required        -   Decide whether fracture required or not        -   Validate Fields For Screen: Fracture Info            -   NOTE: these are only the top level fields, not layer                dependent            -   Database Name            -   Top Structure            -   Data Scale Out            -   Window Limits—LLX            -   Window Limits—LLY            -   Window Limits—URX            -   Window Limits—URY        -   Get & validate pattern arrays        -   Initialize the total placements        -   Validate pattern array data (Pattern & Fracture)            -   Validate the pattern info            -   Address Units Out            -   Final CD Size            -   CD Digitized            -   Digitized Data Tone            -   Validate the fracture info            -   GDS Layers            -   Input pattern file name        -   Get & validate number of placements        -   Validate placement data            -   Get the placement attributes            -   Form the root for the error message            -   Validate Fields For Screen: Placement Info            -   X Value            -   Y Value        -   Next Placement        -   End If numPatternLayerPlacements>0        -   Next Pattern layer        -   Next Pattern

OTHER EMBODIMENTS

Although the present invention has been described in detail, it shouldbe understood that various changes, substitutions, and alterations canbe made hereto without departing from the spirit and scope of theinvention as defined by the appended claims.

1. A computer network for generating instructions for use by photomaskmanufacturing equipment, comprising: a computer accessible to a remotecustomer computer via a network connection, and during the networkconnection, the computer operable to receive photomask specificationdata and design data from the remote customer computer; a database incommunication with the computer, operable to store the photomaskspecification data and the design data; a command generator incommunication with the photomask specification database, the commandgenerator operable to generate fracturing instructions and controlinstructions based on the photomask specification data; and a fractureengine that uses the fracturing instructions and the design data togenerate fractured pattern data.
 2. The network of claim 1, furthercomprising the computer operable to receive the design data from theremote customer computer in an electronic format.
 3. The network ofclaim 2, further comprising the computer operable to receive the designdata and the photomask specification data during a single networkconnection.
 4. The network of claim 1, further comprising the commandgenerator operable to deliver the control instructions to a data storagedevice accessible by the photomask manufacturing equipment.
 5. Thenetwork of claim 1, further comprising the fracture engine operable todeliver the fractured pattern data to a data storage device accessibleby the photomask manufacturing equipment.
 6. The network of claim 1,wherein the database comprises: a specification database operable tostore the photomask specification data; and a customer design databaseoperable to store the design data.
 7. The network of claim 1, whereinthe computer network comprises a local area network that includes thecomputer and the database.
 8. The network of claim 1, wherein thecomputer receives the photomask specification data and the design datafrom the customer computer via an internet connection.
 9. A method forgenerating instructions for use by photomask manufacturing equipment,comprising: providing a network connection between a computer and aremote customer computer; receiving, at the computer, photomaskspecification data and design data from the remote customer computer viathe network connection; storing the photomask specification data and thedesign data in a database; generating fracturing instructions andcontrol instructions based on the photomask specification data using acommand generator in communication with the database; and generatingfractured pattern data from the fracturing instructions and the designdata using a fracture engine.
 10. The method of claim 9, furthercomprising receiving the design data from the remote customer computerin electronic form.
 11. The method of claim 9, further comprisingreceiving the design data and the photomask specification data during asingle network connection.
 12. The method of claim 9, further comprisingdelivering the control instructions to a data storage device accessibleby the photomask manufacturing equipment.
 13. The method of claim 9,further comprising delivering the fractured pattern data to a datastorage device accessible by the photomask manufacturing equipment. 14.The method of claim 9, wherein the database comprises: a specificationdatabase operable to store the photomask specification data; and acustomer design database operable to store the design data.
 15. Themethod of claim 9, wherein the network connection comprises an internetconnection.
 16. A method for automatically generating instructions foruse by photomask manufacturing equipment, comprising: receivingphotomask specification data in an electronic format from a customercomputer; and in response to receiving the photomask specification datafrom the customer computer, automatically performing operationsincluding: storing the photomask specification data; generating fractureinstructions; generating equipment instructions from the fractureinstructions; and electronically transmitting the equipment instructionsto the photomask manufacturing equipment.
 17. The method of claim 16,further comprising receiving pattern design data from a customercomputer.
 18. The method of claim 17, wherein the pattern design datacomprises customer circuit design data.
 19. The method of claim 17,wherein the operation of receiving pattern design data comprisesreceiving the pattern design data from the customer computer via filetransfer protocol (FTP).
 20. The method of claim 16, wherein theoperation of generating fracture instructions comprises using a fractureengine to generate fractured pattern data based on the fractureinstructions.
 21. The method of claim 20, further comprising receivingthe pattern design data at the fracture engine for use in generating thefractured pattern data.
 22. The method of claim 16, further comprisinggenerating control instructions based on the photomask specificationdata, wherein the control instructions specify where and how patternsare to be written on a photomask.
 23. The method of claim 16, whereinthe equipment instructions comprise fractured pattern data and controlinstructions.
 24. The method of claim 16, wherein the equipmentinstructions comprise data to be used by the photomask manufacturingequipment to produce a photomask for each layer of an integratedcircuit.
 25. The method of claim 16, wherein the operation ofelectronically transmitting the equipment instructions to the photomaskmanufacturing equipment comprises electronically transmitting theequipment instructions to photomask writing tools.
 26. The method ofclaim 16, wherein the manufacturing equipment comprisescomputer-controlled lithography equipment.
 27. A method for generatinginstructions for use by photomask writing tools comprising: receiving,at a computer, photomask specification data in an electronic format froma customer computer; and in response to receiving the photomaskspecification data, automatically performing operations comprising:storing the photomask specification data in a database; and generating ajob deck for photomask writing tools based on the photomaskspecification data.